Derivate & Integrate

D()
입력을 expression obj으로 해야함
f<-expression(5*x^2+10*x+5)
D(f, "x") # f x
# 2
DD<-function(expr, name, order=1){
if(order<1)stop("'order'must be more than 1")
if(order==1)D(expr, name)
else DD(D(expr, name), name, order-1)
}
5 * (2 * x) + 10
deriv()
~을 이용해서 expression obj이 아닌 수식 적용 가능
D와 달리 계산값을 반환해(객체를 함수로 만들어 준다.)
#deriv(expr, name)
g<-deriv(~exp(-x^2), "x", func=T)
g(2)
[1] 0.01831564
attr(,"gradient")
               x
[1,] -0.07326256
f<-expression(exp(-x^2))
g1<-deriv(f, "x", func=T)
g1(2)
[1] 0.01831564
attr(,"gradient")
               x
[1,] -0.07326256
integrate()
인수로 function()으로 생성된 함수를 받음
f<-function(x){
return (2*x-x^2)
}
integrate(f, 0, 3)
1.665335e-16 with absolute error < 3e-14